	
/**
 * 全局变量，中文字符表示2个长度
 * 公用的函数
 */
  String.prototype.len=function(){
	return this.replace(/[^\x00-\xff]/g,"**").length;
  }
 String.prototype.trim = function() {
	return this.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+$)/g, "");
 };

 var allBlankMsg = "不能全部为空格或回车!";
function checkAllBlank(v){
	var a = v.replace(/(^[\s\t\xa0\u3000]+)|([\u3000\xa0\s\t]+$)/g, "");
	var zh = /^\s*(\S+(\s+\S+)*)\s*$/;	        
	return zh.test(a);
}

var specialCharMsg = "不能包含' \" / > <特殊字符!";
function specialChar(v){
	var zh = /['"/>\<]/;
	return !zh.test(v);
}


var textFieldMsg = "不能包含空格和/<>;%*单双引号特殊字符!";
function textFieldValidate(v){
	
 var zh = /[<>\/\'\";\%\*\s\t\xa0\u3000]/; 
	   
 return !zh.test(v);       
};

Ext.form.VTypes.queryCdValidateText  = "不能包含空格和/<>;%*_单双引号特殊字符!";
Ext.form.VTypes.queryCdValidate = function(v){
 var zh = /[<>\/\'\";\%\*\_\s\t\xa0\u3000]/; 
 return !zh.test(v);       
};
 
//form输入
Ext.form.VTypes.queryInputValidateText  = "不能包含/<>%*_单双引号特殊字符!";
Ext.form.VTypes.queryInputValidate = function(v){
	//验证是否全为空格,回车
	if(!checkAllBlank(v)){
		Ext.form.VTypes.queryInputValidateText = allBlankMsg;
		return false;	
	}
	 var zh = /[<>\/\'\"\%\*\t]/; 
	 return !zh.test(v);       
};	

/**
 * 最大输入500汉字或1000字符，审批意见原因。
 */
	 Ext.form.VTypes.maxDeal = function(v){
        var max = 1000;
        var re = /^([^\<\>])*$/;         
        if(!re.test(v)){
        	Ext.form.VTypes.maxDealText  = '不能含有<>';
        	return false;
        }else if(v.len() <= max){
        	return true;
        }else{
        	Ext.form.VTypes.maxDealText = '不能超过500汉字或1000字符';
        	return false;
        }
};
/**
 * 输入时间不能大于当前时间
 */
	 Ext.form.VTypes.curdateVtype = function(v){ 
        
};
function CompareDate(d1,d2){
    return ((new Date(d1.replace(/-/g,"\/"))) <= (new Date(d2.replace(/-/g,"\/"))));
}



/**
 * WEB地址
 */
Ext.form.VTypes.webDomai = function(v){
	
        var num = /^http:\/\/[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^\"\"])*$/;

        return num.test(v);
};
Ext.form.VTypes.webDomaiText = "WEB地址只能以'http://'开头.格式如:http://www.coship.com"; 

/**
 * 上行URL
 */
Ext.form.VTypes.moUrl = function(v){
	
        var num = /^http:\/\/[^\:]+\:[0-9]{1,5}$/;

        return num.test(v);
};
Ext.form.VTypes.moUrlText = "上行URL地址只能以'http://'开头且含端口号.格式如:http://www.coship.com:8080"; 


/**
 * Eamil地址
 */

Ext.form.VTypes.email = function(v){
	
        var num = /^[A-Za-z0-9]*[\.]?([A-Za-z0-9]*[-_]*[A-Za-z0-9]+)*@([A-Za-z0-9]*[-_]?[A-Za-z0-9]+)+[\.][A-Za-z]{2,3}([\.][A-Za-z]{2})?$/;

        return num.test(v);
};
Ext.form.VTypes.emailText = "Email格式不正确.格式应为:coship@tech.cn或www.coship@tech.com";

/**
 * ip地址
 */

Ext.form.VTypes.IPAddress = function(v){
        var num = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
        return num.test(v);
};
Ext.form.VTypes.IPAddressText = "IP地址格式不正确.";


/*
Ext.form.VTypes.IPAddress = function(v){
	debugger
	if(v.indexOf(" ") != -1){
		Ext.form.VTypes.CheckBlankText = "不能含有空格！";
		return false;
	}	
	return true;
};

*/

/**
 * 只能输入100字符或50汉字
 */
Ext.form.VTypes.MaxLenTitle = function(v){
	var max = 100;
	//验证是否全为空格,回车
	if(!checkAllBlank(v)){
		Ext.form.VTypes.MaxLenTitleText = allBlankMsg;
		return false;	
	}else if(!specialChar(v)){
		Ext.form.VTypes.MaxLenTitleText = specialCharMsg;
		return false;
	}else if(v.len() <= max){
		return true;
	}else{
		Ext.form.VTypes.MaxLenTitleText = '不大于50个汉字或100个字符';
		return false;
	}  
};

/**
 * 只能输入200字符或100汉字
 */
Ext.form.VTypes.MaxLenTitle200 = function(v){
	var max = 200;
	//验证是否全为空格,回车
	if(!checkAllBlank(v)){
		Ext.form.VTypes.MaxLenTitle200Text = allBlankMsg;
		return false;	
	}else if(!specialChar(v)){
		Ext.form.VTypes.MaxLenTitle200Text = specialCharMsg;
		return false;
	}else if(v.len() <= max){
		return true;
	}else{
		Ext.form.VTypes.MaxLenTitle200Text = '不大于100个汉字或200个字符';
		return false;
	}  
};

/**
 * 只能输入100字符或50汉字
 */
Ext.form.VTypes.MaxLen100 = function(v){
	var max = 100;
	//验证是否全为空格,回车
	if(!checkAllBlank(v)){
		Ext.form.VTypes.MaxLen100Text = allBlankMsg;
		return false;	
	}else if(!specialChar(v)){
		Ext.form.VTypes.MaxLen100Text = specialCharMsg;
		return false;
	}else if(v.len() <= max){
		return true;
	}else{
		Ext.form.VTypes.MaxLen100Text = '不大于50个汉字或100个字符';
		return false;
	}  
};


/**
 * 只能输入20字符或10汉字
 */
Ext.form.VTypes.MaxLen20 = function(v){
	var max = 20;
	//验证是否全为空格,回车
	if(!checkAllBlank(v)){
		Ext.form.VTypes.MaxLen20Text = allBlankMsg;
		return false;	
	}else if(v.indexOf(" ") != -1){
		Ext.form.VTypes.MaxLen20Text = "不能含有空格！";
		return false;
	}else if(!specialChar(v)){
		Ext.form.VTypes.MaxLen20Text = specialCharMsg;
		return false;
	}else if(v.len() <= max){
		return true;
	}else{
		Ext.form.VTypes.MaxLen20Text = '不大于10个汉字或20个字符';
		return false;
	}  
};


/**
 * 只能输入4000字符或2000汉字
 */
Ext.form.VTypes.MaxLen4000 = function(v){
	var max = 4000;
	//验证是否全为空格,回车
	if(!checkAllBlank(v)){
		Ext.form.VTypes.MaxLen4000Text = allBlankMsg;
		return false;	
	}else if(!specialChar(v)){
		Ext.form.VTypes.MaxLen4000Text = specialCharMsg;
		return false;
	}else if(v.len() <= max){
		return true;
	}else{
		Ext.form.VTypes.MaxLen4000Text = '不大于2000个汉字或4000个字符';
		return false;
	}  
};


Ext.form.VTypes.CheckBlank = function(v){
	if(v.indexOf(" ") != -1){
		Ext.form.VTypes.CheckBlankText = "不能含有空格！";
		return false;
	}	
	return true;
};

/**
 * 验证是否全部为空格
 */
Ext.form.VTypes.CheckBlankOnly = function(v){
	var blank = /\S/;
	if(!blank.test(v)){
		Ext.form.VTypes.CheckBlankOnlyText = "不能全部为空格！";
		return false;
	}
	return true;
};
/**
 * 验证数字
 * @param {} v
 * @return {Boolean}
 */
Ext.form.VTypes.CheckNumber = function(v){
	var number = /^[0-9]*$/;
	if(!number.test(v)){
		Ext.form.VTypes.CheckBlankOnlyText = "只能输入数字";
		return false;
	}
	return true;
};


